package com.zzj;

import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;

public class ServletInitializer extends SpringBootServletInitializer {

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(ZBlogApiApplication.class);
    }

}
/*
  这段代码是一个 Servlet 初始化器（ServletInitializer），用于配置 Spring Boot 应用程序的初始化。
  它是一个扩展自 `SpringBootServletInitializer` 类的子类。

  在 Spring Boot 中，如果你打算将应用程序打包成 WAR 文件并部署到外部的 Servlet 容器（如 Tomcat、Jetty 等），那么就需要提供一个 Servlet 初始化器。
  Servlet 初始化器是为了在 Servlet 容器启动时配置和初始化 Spring Boot 应用程序的上下文。

  这段代码中的 `ServletInitializer` 类覆盖了 `configure()` 方法，该方法接受一个 `SpringApplicationBuilder` 对象作为参数，
  并返回一个配置了 Spring Boot 应用程序的 `SpringApplicationBuilder` 实例。

  在 `configure()` 方法中，通过调用 `application.sources(ZBlogApiApplication.class)` 方法，指定了 Spring Boot 应用程序的主类（即包含 `@SpringBootApplication` 注解的类）作为配置源。
  这样，在 Servlet 容器启动时，就会使用指定的配置源初始化 Spring Boot 应用程序的上下文。

  这个 `ServletInitializer` 类主要用于在 Servlet 容器启动时作为初始化入口点，它会加载并配置 Spring Boot 应用程序的上下文，
  使得应用程序能够在外部 Servlet 容器中正确运行。

  注意：如果你打算以独立的 JAR 文件运行 Spring Boot 应用程序，而不是部署到外部 Servlet 容器中，
  那么你不需要这个 `ServletInitializer` 类。独立运行的 Spring Boot 应用程序使用内嵌的 Tomcat、Jetty 或 Undertow 作为 Servlet 容器，无需额外的配置。
 */